 // 1. 引入 gulp
 const gulp = require('gulp')

 // 2-1. 引入 gulp-cssmin
 const cssmin = require('gulp-cssmin')

 // 2-2. 引入 gulp-autoprefixer 
 const autoprefixer = require('gulp-autoprefixer')

 // 2-3. 引入 gulp-sass
 const sass = require('gulp-sass')


 // 3-1. 引入 gulp-uglify
 const uglify = require('gulp-uglify')
 const babel = require("gulp-babel")


 // 3-2. 引入 gulp-htmlmin
 const htmlmin = require('gulp-htmlmin')

 // 创建一个 css 的任务
 gulp.task('css', function () {
     return gulp
         .src('./src/css/**') // 对哪些文件进行操作
         .pipe(autoprefixer({
             overRideBrowserslist: ["last 2 versions"]
         }))
         .pipe(cssmin()) // 都做什么，这里做的就是进行 css 压缩
         .pipe(gulp.dest('./dist/css')) // 把压缩完毕的文件放在 dist 文件夹下的 css 文件夹   
 })

 // 创建sass任务
 gulp.task("sass", function () {
     return gulp.src("./src/sass/**")
         .pipe(sass())
         .pipe(autoprefixer())
         .pipe(cssmin())
         .pipe(gulp.dest("./dist/css/"))
 })

 // 压缩JS
 gulp.task("js", function () {
     return gulp.src("./src/js/**")
         .pipe(babel({
             presets: ["es2015"]
         }))
         .pipe(uglify())
         .pipe(gulp.dest("./dist/js/"))
 })

 // 压缩html
 gulp.task("html", function () {
     return gulp.src("./src/pages/**")
         .pipe(htmlmin({
             removeEmptyAttributes: true,
             collapseWhitespace: true,
         }))
         .pipe(gulp.dest("./dist/pages/"))
 })

 // 拷贝lib目录到dist下
 gulp.task("lib", function () {
     return gulp.src("./src/lib/**")
         .pipe(gulp.dest("./dist/lib/"))
 })

 // 拷贝static目录到dist下
 gulp.task("static", function () {
     return gulp.src("./src/static/**")
         .pipe(gulp.dest("./dist/static/"))
 })

 // 批量执行任务
 //  gulp.task("default", function (done) {
 //      gulp.series(
 //          gulp.parallel("css", "sass", "js", "html", "lib", "static"),
 //      )()
 //      done()
 //  })
 gulp.task("default", function (done) {
     gulp.series(
         gulp.parallel("css", "js", "html", "static"),
     )()
     done()
 })